A perceived color of an object is determined by three main factors: the physical properties of the object, the actual illumination of the object by an illumination source, and the sensitivity of the input device. Changing any one of these three factors may possibly change the perceived color of the object. For example, assuming that the input device is a digital camera, the illumination source is natural sunlight, and a white piece of paper is the viewed object, the digital camera will perceive this piece of paper as being white in color. However, if the illumination source is changed from natural sunlight to fluorescent lighting and no other transformations on the raw data are performed, the digital camera will perceive the color of the object as off-white; this piece of paper will be perceived by the camera as being different colors when illuminated by different types of illumination sources.
In contrast to the digital camera, a human observer perceives this white piece of paper as being white whether the natural sunlight or the fluorescent lighting serves as the illumination source. Within certain limits, the human eye compensates for the varying types of illumination sources and perceives an object illuminated by different types of illumination sources as having the same color.
In general, white balancing algorithms aid digital cameras in reproducing color images which more closely mimic the perception of the human eye. In this prior example, white balancing algorithms are utilized in digital cameras to allow the resultant digital image of an object to be perceived as the same color whether illuminated by fluorescent lighting or natural sunlight. White balancing algorithms emphasize color reproduction which is realistic to the human eye. Typically, the first step in a white balancing algorithm is to estimate the scene illumination from the digital image.
There are a variety of different techniques for estimating a scene illumination from an image. These techniques include gray-world algorithm, estimation based on specular reflectance, neural network, statistical approaches, extra sensing devices, and reflectance in two-dimensional space. The gray-world algorithm assumes that the spatial average of surface reflectance within the scene is achromatic. Accordingly, the gray-world algorithm assumes that the average pixel value of a digital image of a scene corresponds to the color of the illumination. Often times this assumption is not true and, as a result, the gray-world algorithm fails. The estimation based on specular reflectance technique is similar to the gray-world algorithm, because this estimation based on reflectance relies on a certain percentage of light reflected in a specular manner. If there are not enough highlights, the estimation based on specular reflectance fails to accurately estimate scene illumination for white balancing.
The neural network technique and the statistical approach require considerable training to accurately estimate the illumination. As the neural network and the statistical approach gain experience by more training, they are able to increase their accuracy of illumination estimation. However, providing this training is expensive during both development and implementation of the neural network and the statistical approach. Even with this extensive training, the illumination of certain images may not be approximated accurately enough by neither the neural network technique nor the statistical approach.
As a way to increase accuracy of illumination estimation, extra sensing devices are sometimes utilized to gather additional information otherwise not captured with a single sensor. However, these extra sensor devices add additional manufacturing costs and mechanical complexity to the camera device.
Additional methods of estimating the illumination of the image are based on linear decomposition of the surface reflectance and the spectral power distribution of the illumination. Under the assumption that the surface reflectance lies in a two-dimensional space, and the illumination lies in a three-dimensional space, on exact solution for the illumination can be calculated from a three channel image. However, utilizing a two-dimensional space for the reflectance does not ensure that the exact solution for the illumination is necessarily the correct solution. For example, the an exact representation of the actual surface reflectance can be outside the boundary of a two-dimensional space. Accordingly, when the correct surface reflectance level cannot be accurately represented in this two-dimensional space, this method will not provide an optimal estimation of the illumination of the scene.